Method and system for processing graphics in a supervisory control system

ABSTRACT

A supervisory control system and display client are disclosed. The supervisory control system generates a graphical display representative of an operational status of operational components in a plant, facility or process being supervised. There are typically several types of operational components in the plant, facility or process. The system includes a server in communication with the operational components via a network. The server maintains a plurality of equipment unit objects, each of the equipment unit objects having one or more parameters representative of the operational status of the operational components. A display client is in communication with the server. The display client stores one or more equipment symbol objects, each of the one or more equipment symbol objects defining a graphical representation of one of the one or more operational components in the graphical display. The display client also stores a picture object that describes a location of each of the one or more operational components in the graphics display. The display client requests an update of the graphical display and receives equipment unit objects from the server. A processor in the display client generates the graphical display by processing the one or more equipment unit objects with the picture object and with the one or more equipment symbol objects.

BACKGROUND OF THE INVENTION

The present invention relates to supervisory control systems and tomethods and systems for processing and displaying graphics therein.

Supervisory control systems are used in the operation of plants,networks, hospitals, traffic regions as well as a large number of otherfacilities. By way of example only, these facilities include chemicalplants and reactors. Among other functions, the supervisory controlsystems are used to monitor the operation and status of thesefacilities. In particular, the supervisory control systems generate agraphical display representative of the operational status of thefacility being monitored and operators observe and control the equipmentthey are responsible for via operator stations using the supervisorycontrol systems. Since the equipment units and the interrelationsbetween them are shown in pictures, the operators are able to determinethe status of the facilities by examining the graphical display.

The pictures used in the domain of supervisory control systems arecharacterized by the display of a large number of equipment symbols andthere are typically a few types of the symbols. The straightforwardapplication of standard graphic formats in this domain leads toinefficient solutions. This is due, in part, to the large quantity ofdata that must be transferred to generate the graphical display. Thus,present supervisory control systems are slow and do not allow asufficient footprint to be generated.

These issues can lead to very serious problems. For example, supervisorycontrol systems are generally connected to a network. If too manyrequests are made by different display client at different stations,then the quantity of data being transferred could overload the network,crashing the system. Additionally, if any of the processes and statusbeing monitored are time critical, the slowness of the system can be aproblem to the facility controllers.

Accordingly, new and improved methods and systems for processing anddisplaying information in a supervisory control system are needed.

SUMMARY OF THE INVENTION

In accordance with one aspect of the present invention, a system and amethod uses of a type-instance concept while also using standardgraphics formats not designed for this supervisory control systems.Thus, the present invention provides superior levels of performance andfootprint, despite the utilization of standard graphics formats.

The method of the present invention generates a graphical display in aclient display. The graphical display is representative of a currentstatus of one or more operational components located in a plant,facility or process. There can be one or more types of operationalcomponents. In a first step, a request for an update of the graphicaldisplay is made by the client display from a server. The server is incommunication with the one or more operational components and the servergenerates one or more equipment unit objects, each of the one or moreequipment unit objects representing one or more current parameters ofone of the one or more operational components. In response to therequest, the server transmits the one or more equipment unit objects tothe client display over a network.

At the client display, the graphical display is generated by processingthe transmitted one or more equipment unit objects with a picture objectthat describes a location of each of the one or more operationalcomponents in the graphical display and with one or more equipmentsymbol objects, each of the one or more equipment symbol objectsdefining a graphical representation in the graphical display of one ofthe one or more types of operational components.

The method further includes displaying the graphical display. Thegraphical display reflects the one or more current parameters of the oneor more operational components. The method further includes controllingthe one or more operational components based on the graphical display.

The equipment unit objects are smaller than the picture object and theequipment symbol objects. Thus, the present invention results in anefficient generation of a graphical display of a plant, facility orprocess, allowing for an improved supervisory control system.

In accordance with another aspect of the present invention, the methodincludes generating the graphical display by processing the one or moreequipment unit objects with one or more equipment graphics list objects,each of the equipment graphics list objects listing a plurality ofoperational components.

In accordance with a further aspect of the present invention, asupervisory control system for generating a graphical displayrepresentative of an operational status of one or more operationalcomponents is provided. The system includes a server in communicationwith the one or more operational components via a network, wherein theserver maintains one or more equipment unit objects, each of the one ormore equipment unit objects having one or more parameters representativeof the operational status of the one or more operational components. Theoperational components are monitored and controlled by a controller. Thesystem further includes a client display in communication with theserver that displays pictures representative of the status of theoperational components.

The display client stores one or more equipment symbol objects, each ofthe one or more equipment symbol objects defining a graphicalrepresentation of one of the one or more operational components in thegraphical display, and stores a picture object that describes a locationof each of the one or more operational components in the graphicsdisplay. These objects can be downloaded from the server at start up,can be stored at the display client or can be obtained during a firstrequest for a graphical display from the server.

The display client includes a standard means for requesting an update ofthe graphical display and for receiving one or more equipment unitobjects from the server to the display client. A processor in thedisplay client generates the graphical display by processing the one ormore equipment unit objects with the picture object and with the one ormore equipment symbol objects.

In accordance with another aspect of the present invention, the serverupdates the one or more equipment objects based on the operationalstatus of the one or more operational components. The graphical displayreflects the one or more current parameters of the one or moreoperational components. The supervisory control system includes meansfor controlling the one or more operational components based on thegraphical display.

DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a supervisory control system monitoring a chemicalplant.

FIG. 2 illustrates one type of display that can be generated by asupervisory control system.

FIGS. 3 and 4 illustrate an object model used by the supervisory controlsystem in accordance with one aspect of the present invention.

FIG. 5 illustrates the steps performed to process and generate agraphics display of a plant or facility in accordance with one aspect ofthe present invention.

FIG. 6 illustrates an example of a supervisory control system monitoringa plurality of controllers.

DESCRIPTION OF A PREFERRED EMBODIMENT

FIG. 1 illustrates a supervisory control system. The supervisory controlsystem includes a server 12 monitoring a plant, facility or process 14.Various well known interface devices provide an interface from thevarious components of the facility 14 to the server 12. The number ofinterface devices depends on the number of parameters and pieces ofequipment being monitored in the facility 14.

A plurality of display clients 16, 18 and 20 are in communication withthe server 12 via a network 22. The display clients include supervisorycontrol systems that can be used to display a graphical display of thefacility 14 that represents the operational status of the equipment inthe facility 14. Before the present invention, all of the graphicalinformation required to display the graphical representation istransmitted from the server 12 to the requesting display client 16, 18or 20 each time they need to generate a graphical display. If a largenumber of display clients request displays at the same time, the network22 can crash. In any event, the generation of graphical displays by thedisplay client can take a lot of time.

Any number of different types of plants or processes can be monitored bysupervisory control systems. For example, chemical plants and processes,semiconductor plants and processes, and reactor facilities can be, andare, monitored with supervisory control systems.

FIG. 2 illustrates a display generated by a supervisory control system.In this case, a typical chemical plant is illustrated. Like manychemical plants, the illustrated chemical plant includes tanks, valvesand sensors. For example, tank 22, sensor 24 and valve 26 areillustrated in FIG. 2.

The picture generated by the supervisory control system consists of thegraphical representations of selected equipment units in the plant orprocess being monitored. A typical picture shows 100 to 500 equipmentunits overall. The preferred style of displaying the picture is intwo-dimensional schematics, although occasionally three-dimensionalgraphics are in use.

In FIG. 2, each equipment unit is represented by a graphical object. Thecomplexity of the graphical object may vary. Each equipment unit in thechemical plant has a series of attributes or properties. Some of theattributes or properties may change with time. The equipment, units areof a certain type, and the graphical representation of an equipment unitis of a certain type, too. For simplicity, we assume a 1:1 relation,though occasionally this may not be the case.

Even in large plants, the number of equipment types is surprisinglyrestricted. Usually the number of equipment types in a large plant is inthe range of 20 to 50 types. Each of the equipment types can have manydifferent states, with each state having many different property values.Thus, in contrast to the limited number of equipment types, the numberof instances can get quite large. In some cases, one thousand instancesfor each equipment type can often be counted.

Present supervisory control systems generate a picture with standardtechniques for generating graphics. Standard techniques for generatinggraphics, however, do not make use of the special profile of supervisorycontrol system pictures. Such an approach therefore will most likelyresult in a graphics generating system with poor performance and a bigfootprint.

In accordance with one aspect of the present invention, graphics aregenerated in a supervisory control system by exploiting the specialprofile of supervisory control system pictures. By doing so, superiorlevels of performance and storage utilization are achieved by the systemand method of the present invention.

The present invention preferably uses an object model having severalobject types to model the plant or process. The object types used inaccordance with one aspect of the present invention includes (1) anEquipment Unit object 36, (2) an Equipment Symbol object 34, (3) anEquipment Unit List object 32 and (4) a Picture object 30. These objectsare illustrated in FIG. 3.

The Equipment Unit object models the real world equipment units found inthe facility 14. Each Equipment Unit object has a list of attributes orproperties that describe the status of various parameters of a realworld equipment unit. Some of the attributes or properties will changedynamically. Some of the attributes will stem from real world processes.For example, a motor may have an Equipment Unit object that has manyattributes. One such attribute may be the revolving speed of the motorwhich is measured by an interface device. Other attributes will bederived by formula. For example, an average value of a parameter may bederived by the supervisory control system or by the device beingmonitored and that average value may be an attribute in the EquipmentUnit object. Thus, the supervisory control system may calculate theaverage (calibrated) temperature of an array of temperature sensors.Accordingly, each Equipment Unit object may have a number of differentpossible states representing various operational states, standby states,inactive states or malfunctioning states. Each of these different statescan be represented by an instance of the Equipment Unit object.

A second object type in the object model is the Equipment Symbol. TheEquipment Symbol object is the graphical representation of an equipmentunit, including the graphical attributes of the graphics primitives usedand the description of the outline of dynamic attributes. Any convenientgraphics format could be used. For example, SVG can be used.

A third object type is an Equipment Unit List. The Equipment Unit Listobject lists a group of components that are associated together. Forexample, a tank may have an input valve, an output valve, a temperaturesensor and a level sensor working in conjunction with it. The EquipmentUnit List object provides a list of all equipment that may be groupedtogether.

A fourth object type is a Picture object. The Picture object is thecontainer for instances of equipment representations with theirpositions within the picture. Thus every component in the facility 14being monitored is represented in the Picture object and the position ofeach component is specified.

FIG. 4 illustrates an example of the above described object model. Theobject model of FIG. 4 includes a Picture object 40, an Equipment UnitList object 42, an Equipment Symbol object for a tank 44, an EquipmentSymbol object for an input valve 46, an Equipment Symbol object for asensor 48, an Equipment Unit object for an input valve 50, an EquipmentUnit object for an output valve 52, an Equipment Unit object for a levelsensor 54, and an Equipment Unit object for a temperature sensor 56. Theobject model illustrated in FIG. 4 is not complete, but is shown forillustrative purposes only.

As previously described, the Picture object 40 lists all of thecomponents of the facility 14 that are in the graphical display byEquipment Unit object. It also specifies the location of each EquipmentUnit object in the picture. The Picture object can also specify thecomponents in the picture by Equipment Unit List object and a respectivelocation. The object model of FIG. 4 also includes the Equipment UnitList object 42 that lists a tank, an input valve, an output value, alevel sensor and a temperature sensor. These components are part of afunctional group of components that will be illustrated together in thegraphical display. The Equipment Symbol object 44 specifies thegraphical symbol for a tank, as illustrated. The Equipment Symbol object46 specifies the graphical symbol for an input valve, as illustrated.The Equipment Symbol object 48 specifies the graphical symbol for asensor, as illustrated. Equipment Unit objects 50, 52, 54 and 56 specifythe operational parameters of various components. Equipment Unit object50 illustrates that the input valve is open while Equipment Unit object52 illustrates that the output valve is closed. Equipment Unit object 54illustrates that the tank is three quarters full and Equipment Unitobject 56 illustrates that the contents of the tank are at a certaintemperature.

Of course, the model of FIG. 4 is illustrative only. By way of example,each Equipment Unit object can have many different parameters. Thenumber of parameters in each Equipment Unit object only depends on thenumber of parameters needed to adequately specify the operationalparameters of a component of the facility 14. For example, a motor mayhave more parameters than a valve.

Referring to FIG. 5, when a display client 20 wants to view a graphicalrepresentation of the operational status of the facility 14 or a part ofthe facility 14, the display client requests an update of the graphicaldisplay in step 70. This request is transmitted to the server 12 via thenetwork 22. In step 72, the server 12 responds by transmitting theEquipment Unit objects corresponding to the requested graphical displayvia the network 22 to the display client 20. There may be many EquipmentUnit objects transferred, but these objects are usually quite smallcompared to the Picture object and the Equipment Symbol objects, whichare generally quite large due to the graphic information that must beconveyed. The server 12 does not transfer any of the other objects—thePicture object, the Equipment Symbol object and the Equipment Unit Listobject—as these objects are already stored at the display client 20.

In step 74, after receiving the Equipment Unit objects that specifiedthe operational parameters of the components in the facility 14, thedisplay client 20 accesses the stored objects. In step 76, the displayclient 20 combines the Equipment Unit objects received from server 12and the stored objects to generate a graphic display. The display client20 then displays the graphic display and the operator can control theoperation of the facility accordingly.

The stored objects can be permanently stored in the display clients 16,18 and 20. Alternatively, the stored objects can be downloaded to thedisplay clients 16, 18 and 20 on initialization by the server 12. Also,the stored objects can be downloaded with the first request made for agraphical display, so that subsequent requests would be for an updateonly. The server 12 would then respond by only transmitting theEquipment Unit objects.

The display clients 16, 18 and 20 generate the graphical display byprocessing the received Equipment Unit objects and the stored objects.When one of the Equipment Unit objects is received, the display clientaccesses the stored Equipment Symbol object that corresponds to the typeof component represented by the Equipment Unit object to determine theappropriate symbol to use in the graphical display. The display clientsalso accesses the stored Picture object to determine whether theEquipment Unit object should be in the graphical display and, if so,what its location is. The display client would also access the storedEquipment Unit List object to determine whether the componentrepresented by the Equipment Unit object should be in the graphicaldisplay and, if so, its proper location. By processing each receivedEquipment Unit object in this fashion, a complete graphical display isgenerated by the display client.

Each Equipment Unit object transmitted by the server 12 represents oneinstance of the Equipment Unit object. This instance defines the currentoperational parameters of a component in the facility, and thereforerepresents the current operational status of that component. OneEquipment Unit instance maybe displayed in more than one picture. Thus,more than one operator can view current operational status on differentdisplay clients.

The above model assumes that the attributes of the equipment unitinstance (including the graphical attributes of the equipment unitgraphics instances) do not depend on the picture container. This meansthat the graphics related to a certain equipment unit instances isdepicted the same way in all pictures. If this assumption can not bekept a slightly more elaborate object model has to be used, but theconcept itself remains unaffected. For example, if there is a pictureshowing parts of a plant in different scales, then different graphicsymbols are needed. Thus, in the case where a picture shows an overviewpicture of an entire plant as well as a more detailed picture of plantareas, then different graphic symbols are needed for the differentlevels of detail.

Generally, the Equipment Unit objects are much smaller than the otherobjects. One Equipment Unit object may only be several bytes in size,whereas the Picture object and the Equipment Symbol object can be quitelarge due to their graphical nature. Accordingly, the present inventioncan result in a significant improvement in the operation of asupervisory control system.

When drawing a graphical display, it is assumed that the following datais available: the static and dynamic attributes of all instances ofequipment units (ie. all Equipment Unit objects); the description of allequipment symbols (ie. the Equipment Symbol objects); the attributes ofall instances of equipment unit graphics, at least those occurring inthe picture to be drawn; the instance of the picture container to bedrawn with all related data (especially the positions for the equipmentrepresentations).

Typical data sizes are:

100 bytes for the relevant attributes of an equipment unit instance

30 bytes for the relevant attributes of an equipment graphics Instance

1 Kbytes for the description of one equipment unit (type)

1 Kbytes for the description of one equipment unit graphics (type)

10 Kbytes for the description of one symbol

500 equipment unit Instances in one picture, based on 10 types

Where the present invention is used in a client-server architecture, thedata resides on the server, and the picture is shown on the screen ofthe client. The data, except for data relating to current operationalparameters which is in an Equipment Unit object, is cached on thedisplay client as needed, because they do not change during operation.For the example, to cache the data above, a cache of the size50*(1+1+10)Kbytes=600 Kbytes is needed. This is really a modest request.

The present invention improves the performance of all important drawingfunctions substantially. The function draw is the most basic functionconsidered. Draw will scan the picture container, thereby searching forequipment unit instances. For each equipment unit Instance (or itsrepresentation) found in a container x, the function will pick (usuallyfrom a server) the related attributes and then start to interpret thedescription of the symbol belonging to this equipment unit. During theinterpretation, it will feed in the values of the attributes which mayinfluence the drawing.

For the example above, if all of the data needed from the drawing weretransferred from the server, as was done with prior supervisory controlsystems, the amount of data to be transferred from the server isapproximately (30+100)*500 bytes=65 Kbytes. Therefore with today'snetwork speeds of 10, 100 or even 1000 MBit/sec, the drawing speedshould not be limited by the data throughput during drawing. Thisstatement is true even for wireless LAN with speeds of 11 or 54MBit/sec. Only for low speed connections (e.g. modems) the drawingperformance might be slightly affected by the data throughput, butwithout the invention the drawing function would be unbearably slow.This data may expand to about 500*2*10 Kbytes=10 Mbytes. Thus, in aconventional approach, you would create complete pictures, which wouldtypically need this storage of 10 Mbytes on the sewer side for eachpicture, so the transfer rate would have to go up by a factor of 15 toachieve good results. This severely limits the achievable drawing speed.

In a supervisory control system, some of the data shown in the pictureswill change dynamically quite fast, usually within seconds. Thesechanges may be important for the operator, therefore they have to bereflected in the picture in due time, typically within one second.

For this purpose, in accordance with one aspect of the presentinvention, the function redraw is used. This function requests from theserver for each instance of an Equipment Unit object which is shown inthe current picture, the dynamic attributes. If they have changed duringthe last scan, the corresponding graphics elements are refreshed, theothers are intentionally left unchanged to avoid flicker.

With the approach of the present invention, the data to be transferredfrom the server will be in the range of 5 Kbytes (assuming that 10% ofthe attributes are dynamic), which will create a negligible load on thecommunication line. With the conventional approach, we still would haveto transfer 10 Mbytes, making a fast update rate very expensive in termsof communication bandwidth and processor load. For the drawing algorithmthere is further optimization possible: usually only a small fraction ofthe dynamic data change really change during one scan (typically lessthen 1%). If the drawing algorithm is confined to redraw affectedgraphics elements only, then the refresh should run at high speed. Onecould optimize even further if the symbol description is mapped to a setof commands which is supported directly by the graphics card. Mostgraphics cards support quite advanced command sets for vector graphicsof the style needed in this domain.

To further illustrate the invention, FIG. 6 shows a supervisory controlsystem monitoring a plurality of controllers. The controllers aretypically located in the plant control system and are therefore close tothe operational components. Controllers are lower in the systemhierarchy. The server collects the status of the operational componentsbeing monitored by the controllers. The status is collected via theserver and pictures are displayed in the Display Client in theSupervisory Control System. When the operator requests a picture, theDisplay Client requests the latest status of the components to bedisplayed in the picture.

While there have been shown, described and pointed out fundamental novelfeatures of the invention as applied to preferred embodiments thereof,it will be understood that various omissions and substitutions andchanges in the form and details of the device illustrated and in itsoperation may be made by those skilled in the art without departing fromthe spirit of the invention. It is the intention, therefore, to belimited only as indicated by the scope of the claims appended hereto.

1. A method of generating a graphical display at a display client, thegraphical display being representative of a current status of one ormore operational components, there being one or more types ofoperational components and the graphical display being modeled with aPicture Object, one or more Equipment Unit Lists, one or more EquipmentSymbols and one or more Equipment Unit Objects, wherein the EquipmentUnit Objects has parameters of the one or more operational componentsthat dynamically change, comprising: the display client requesting anupdate of the graphical display from a server in communication with theone or more operational components, wherein the server generates the oneor more Equipment Unit Objects that have dynamically changingparameters; transmitting the one or more Equipment Unit Objects to thedisplay client in response to the request; and at the display client,generating the graphical display by processing the transmitted one ormore Equipment Unit Objects with a cache that stores the Picture Object,the one or more Equipment Unit Lists and the one or more EquipmentSymbols.
 2. The method as claimed in claim 1, further comprisingdisplaying the graphical display, wherein the graphical display reflectsthe one or more current parameters of the one or more operationalcomponents.
 3. The method as claimed in claim 2, further comprisingcontrolling the one or more operational components based on thegraphical display.
 4. The method as claimed in claim 1, wherein theEquipment Unit Objects are smaller than the Picture Object and theEquipment Symbol Objects.
 5. The method as claimed in claim 1, whereinthe server tracks the one or more parameters that have changed since alast request by the display client and the Equipment Unit Objectcontains only the one or more parameters that have changed since thelast request.
 6. The method as claimed in claim 5, wherein the displayclient updates a displayed graphical display based only on the EquipmentUnit Object.
 7. The method as claimed in claim 6, whereby flicker in thedisplayed graphical display is minimized.
 8. A supervisory controlsystem for generating a graphical display representative of anoperational status of one or more operational components, there beingone or more types of operational components, comprising: a server incommunication with the one or more operational components via a network,wherein the server maintains one or more equipment unit objects, each ofthe one or more equipment unit objects having one or more parametersrepresentative of the operational status of the one or more operationalcomponents that dynamically change; a display client in communicationwith the server, the display client caching one or more equipmentsymbols that define a graphical representation of one of the one or moreoperational components in the graphical display, and caching a pictureobject that describes a location of each of the one or more operationalcomponents in the graphics display; means in the display client forrequesting an update of the graphical display and for transferring oneor more equipment unit objects from the server to the display client;and a processor in the display client for generating the graphicaldisplay by processing the one or more equipment unit objects with thepicture object and with the one or more equipment symbols.
 9. Thesupervisory control system as claimed in claim 8, wherein the pictureobject and the one or more equipment symbol objects are not transferredwith the one or more equipment unit objects.
 10. The supervisory controlsystem as claimed in claim 8, wherein the server updates the one or moreequipment objects based on the operational status of the one or moreoperational components.
 11. The supervisory control system as claimed inclaim 8, further comprising a display that displays the graphicaldisplay, wherein the graphical display reflects current parameters ofthe one or more operational components.
 12. The supervisory controlsystem as claimed in claim 11, further comprising means for controllingthe one or more operational components based on the graphical display.13. The supervisory control system as claimed in claim 8, wherein theequipment unit objects are smaller than the picture object and theequipment symbol objects.
 14. The supervisory control system as claimedin claim 8, wherein the means for processing includes further comprisinggenerating the graphical display by processing the one or more equipmentunit objects with one or more equipment graphics list objects, each ofthe equipment graphics list objects listing a plurality of operationalcomponents.
 15. The supervisory control system as claimed in claim 8,wherein the server tracks the one or more parameters that have changedsince a last request by the display client and the equipment unit objectcontains only the one or more parameters that have changed since thelast request.
 16. The supervisory control system as claimed in claim 15,wherein the display client updates a displayed graphical display basedonly on the equipment unit object.
 17. The supervisory control system asclaimed in claim 16, whereby flicker in the displayed graphical displayis minimized.